package util;

import java.io.File;
import javax.swing.filechooser.FileFilter;

public class Filtro extends FileFilter{

	private String descricao;
	private String[] extensoes;
	
	public Filtro(String nome, String[] extensoes) {
		this.descricao = nome;
		this.extensoes = caixaBaixa(extensoes);
	}
	
	private String[] caixaBaixa(String[] extensoes) {	
		for(int i = 0; i < extensoes.length; i++) {
			extensoes[i] = extensoes[i].toLowerCase();
		}
		return extensoes;
	}

	public boolean accept(File arq) {
		
		if (arq.isDirectory())
			return true;
		else {
			
			String path = arq.getPath().toLowerCase();
		    for(int i = 0; i < extensoes.length; i++) {
		    	String ext = extensoes[i];
		    	char ponto = path.charAt(path.length() - ext.length() - 1);
		    	
		    	if(path.endsWith(ext) && ponto == '.')
		    		return true;
		    }
		}
		return false;
	}

	public String getDescription() {
		return descricao;
	}
}
